package cn.iocoder.yudao.module.cont.controller.admin.base.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import javax.validation.constraints.*;
import java.util.*;
import java.math.BigDecimal;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import cn.iocoder.yudao.module.cont.dal.dataobject.base.DetailInfoDO;
import cn.iocoder.yudao.module.cont.dal.dataobject.base.MaterialInfoDO;
import cn.iocoder.yudao.module.cont.dal.dataobject.base.PayInfoDO;
import cn.iocoder.yudao.module.cont.dal.dataobject.base.ChangeInfoDO;
import cn.iocoder.yudao.module.cont.dal.dataobject.base.PlanInfoDO;

@Schema(description = "管理后台 - 合同基础信息表 新增/修改 Request VO")
@Data
public class BaseInfoSaveReqVO {

    @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "15108")
    private Long id;

    @Schema(description = "合同编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "13181")
    @NotEmpty(message = "合同编号不能为空")
    private String htid;

    @Schema(description = "合同名称")
    private String htmc;

    @Schema(description = "合同类型")
    private String htlx;

    @Schema(description = "合同类别")
    private String htlb;

    @Schema(description = "二维码/条形码")
    private String ewm;

    @Schema(description = "合同金额")
    private BigDecimal htje;

    @Schema(description = "服务开始时间")
    private LocalDateTime kssj;

    @Schema(description = "服务结束时间")
    private LocalDateTime jssj;

    @Schema(description = "项目名称")
    private String xmmc;

    @Schema(description = "部门")
    private String bm;

    @Schema(description = "负责人")
    private String fzr;

    @Schema(description = "合同执行方式")
    private String zxfs;

    @Schema(description = "合同主要内容")
    private String zynr;

    @Schema(description = "付款方式")
    private String fkfs;

    @Schema(description = "客户单位")
    private String khdw;

    @Schema(description = "客户联系人")
    private String khlxr;

    @Schema(description = "合同状态")
    private String htzt;

    @Schema(description = "备注")
    private String bz;

    @Schema(description = "签订时间")
    private LocalDateTime qdsj;

    @Schema(description = "线号", example = "29003")
    private String xid;

    @Schema(description = "A端地址")
    private String jrdd;

    @Schema(description = "Z端地址")
    private String scdd;

}